package com.hundsun.aitest.service;

import com.alibaba.fastjson.JSONArray;

import java.util.Map;

public interface BaoSongDBService {

    /**
     * 根据勾稽规则CHECK_CODE获取CHECK_NAME
     *
     * @param checkCode 勾稽规则CHECK_CODE
     * @return CHECK_NAME
     * @throws
     */
    String getCheckName(String checkCode);


    /**
     * 根据勾稽规则CHECK_CODE获取目录结构信息
     *
     * @param checkCode 勾稽规则CHECK_CODE
     * @return 目录结构信息
     * @throws
     */
    String getDirectory(String checkCode);

    /**
     * 根据勾稽规则CHECK_CODE获取表结构信息
     *
     * @param checkCode 勾稽规则CHECK_CODE
     * @return 表结构信息
     * @throws
     */
    String getTableMetaData(String checkCode);

    /**
     * 根据勾稽规则CHECK_CODE获取表各个字段的备注信息
     *
     * @param checkCode 勾稽规则CHECK_CODE
     * @return 表中各个字段的备注信息
     * @throws
     */
    JSONArray getColumnComments(String checkCode);
    /**
     * 根据报表的REPORT_CODE获取勾稽规则
     *
     * @param reportCode  报表的编码
     * @return 勾稽规则信息
     * @throws
     */
    JSONArray getCheckRules(String reportCode);
    /**
     * 根据勾稽规则CHECK_CODE获取勾稽规则的接口参数信息
     *
     * @param checkCode 勾稽规则CHECK_CODE
     * @return 勾稽规则的接口参数信息
     * @throws
     */
    Map<String,Object> getCheckRuleInterParams(String checkCode);

    /**
     * 根据报表code，获取表表信息。
     * @param reportCode
     * @return
     */
    JSONArray getReportInfo(String reportCode);

    /**
     * 根据报表code，获取报表流程信息。
     * @param reportCode
     * @return
     */
    JSONArray getReportProcess(String reportCode);

    /**
     * 根据勾稽规则CHECK_CODE获取勾稽规则信息。
     * @param checkCode
     * @return
     */
    String getCheckRuleSql(String checkCode);

    /**
     * 根据报表code，获取报表信息。
     * @param parentCode ，模糊查询条件
     * @return
     */
    JSONArray getReportList(String parentCode);


}
